//! 货币相关字符集
//! 
//! 包含各种货币符号、金融相关的字符和图标

use std::collections::HashMap;
use crate::CharacterSet;

/// 获取货币相关字符集
pub fn get_currency_characters() -> HashMap<String, CharacterSet> {
    let mut characters = HashMap::new();

    // 主要货币符号
    characters.insert("dollar".to_string(),
        CharacterSet::new()
            .simple("$")
            .icon("💰")
            .bold("$")
    );

    characters.insert("usd".to_string(),
        CharacterSet::new()
            .simple("$")
            .icon("💰")
            .bold("$")
    );

    characters.insert("euro".to_string(),
        CharacterSet::new()
            .simple("€")
            .icon("💰")
            .bold("€")
    );

    characters.insert("eur".to_string(),
        CharacterSet::new()
            .simple("€")
            .icon("💰")
            .bold("€")
    );

    characters.insert("yen".to_string(),
        CharacterSet::new()
            .simple("¥")
            .icon("💰")
            .bold("¥")
    );

    characters.insert("jpy".to_string(),
        CharacterSet::new()
            .simple("¥")
            .icon("💰")
            .bold("¥")
    );

    characters.insert("pound".to_string(),
        CharacterSet::new()
            .simple("£")
            .icon("💰")
            .bold("£")
    );

    characters.insert("gbp".to_string(),
        CharacterSet::new()
            .simple("£")
            .icon("💰")
            .bold("£")
    );

    characters.insert("yuan".to_string(),
        CharacterSet::new()
            .simple("¥")
            .icon("💰")
            .bold("¥")
    );

    characters.insert("cny".to_string(),
        CharacterSet::new()
            .simple("¥")
            .icon("💰")
            .bold("¥")
    );

    characters.insert("won".to_string(),
        CharacterSet::new()
            .simple("₩")
            .icon("💰")
            .bold("₩")
    );

    characters.insert("krw".to_string(),
        CharacterSet::new()
            .simple("₩")
            .icon("💰")
            .bold("₩")
    );

    characters.insert("rupee".to_string(),
        CharacterSet::new()
            .simple("₹")
            .icon("💰")
            .bold("₹")
    );

    characters.insert("inr".to_string(),
        CharacterSet::new()
            .simple("₹")
            .icon("💰")
            .bold("₹")
    );

    characters.insert("ruble".to_string(),
        CharacterSet::new()
            .simple("₽")
            .icon("💰")
            .bold("₽")
    );

    characters.insert("rub".to_string(),
        CharacterSet::new()
            .simple("₽")
            .icon("💰")
            .bold("₽")
    );

    characters.insert("real".to_string(),
        CharacterSet::new()
            .simple("R$")
            .icon("💰")
            .bold("R$")
    );

    characters.insert("brl".to_string(),
        CharacterSet::new()
            .simple("R$")
            .icon("💰")
            .bold("R$")
    );

    characters.insert("peso".to_string(),
        CharacterSet::new()
            .simple("$")
            .icon("💰")
            .bold("$")
    );

    characters.insert("mxn".to_string(),
        CharacterSet::new()
            .simple("$")
            .icon("💰")
            .bold("$")
    );

    // 加密货币
    characters.insert("bitcoin".to_string(),
        CharacterSet::new()
            .simple("₿")
            .icon("₿")
            .bold("₿")
    );

    characters.insert("btc".to_string(),
        CharacterSet::new()
            .simple("₿")
            .icon("₿")
            .bold("₿")
    );

    characters.insert("ethereum".to_string(),
        CharacterSet::new()
            .simple("Ξ")
            .icon("Ξ")
            .bold("Ξ")
    );

    characters.insert("eth".to_string(),
        CharacterSet::new()
            .simple("Ξ")
            .icon("Ξ")
            .bold("Ξ")
    );

    characters.insert("litecoin".to_string(),
        CharacterSet::new()
            .simple("Ł")
            .icon("Ł")
            .bold("Ł")
    );

    characters.insert("ltc".to_string(),
        CharacterSet::new()
            .simple("Ł")
            .icon("Ł")
            .bold("Ł")
    );

    // 金融相关
    characters.insert("money".to_string(),
        CharacterSet::new()
            .simple("💰")
            .icon("💰")
            .bold("💰")
    );

    characters.insert("cash".to_string(),
        CharacterSet::new()
            .simple("💵")
            .icon("💵")
            .bold("💵")
    );

    characters.insert("coins".to_string(),
        CharacterSet::new()
            .simple("🪙")
            .icon("🪙")
            .bold("🪙")
    );

    characters.insert("bank".to_string(),
        CharacterSet::new()
            .simple("🏦")
            .icon("🏦")
            .bold("🏦")
    );

    characters.insert("atm".to_string(),
        CharacterSet::new()
            .simple("🏧")
            .icon("🏧")
            .bold("🏧")
    );

    characters.insert("credit_card".to_string(),
        CharacterSet::new()
            .simple("💳")
            .icon("💳")
            .bold("💳")
    );

    characters.insert("debit_card".to_string(),
        CharacterSet::new()
            .simple("💳")
            .icon("💳")
            .bold("💳")
    );

    characters.insert("wallet".to_string(),
        CharacterSet::new()
            .simple("👛")
            .icon("👛")
            .bold("👛")
    );

    characters.insert("purse".to_string(),
        CharacterSet::new()
            .simple("👛")
            .icon("👛")
            .bold("👛")
    );

    // 投资相关
    characters.insert("stock".to_string(),
        CharacterSet::new()
            .simple("📈")
            .icon("📈")
            .bold("📈")
    );

    characters.insert("shares".to_string(),
        CharacterSet::new()
            .simple("📊")
            .icon("📊")
            .bold("📊")
    );

    characters.insert("bond".to_string(),
        CharacterSet::new()
            .simple("📜")
            .icon("📜")
            .bold("📜")
    );

    characters.insert("fund".to_string(),
        CharacterSet::new()
            .simple("📊")
            .icon("📊")
            .bold("📊")
    );

    characters.insert("portfolio".to_string(),
        CharacterSet::new()
            .simple("📊")
            .icon("📊")
            .bold("📊")
    );

    characters.insert("dividend".to_string(),
        CharacterSet::new()
            .simple("💰")
            .icon("💰")
            .bold("💰")
    );

    characters.insert("interest".to_string(),
        CharacterSet::new()
            .simple("📈")
            .icon("📈")
            .bold("📈")
    );

    characters.insert("profit".to_string(),
        CharacterSet::new()
            .simple("📈")
            .icon("📈")
            .bold("📈")
    );

    characters.insert("loss".to_string(),
        CharacterSet::new()
            .simple("📉")
            .icon("📉")
            .bold("📉")
    );

    characters.insert("revenue".to_string(),
        CharacterSet::new()
            .simple("📈")
            .icon("📈")
            .bold("📈")
    );

    characters.insert("expense".to_string(),
        CharacterSet::new()
            .simple("📉")
            .icon("📉")
            .bold("📉")
    );

    characters.insert("budget".to_string(),
        CharacterSet::new()
            .simple("📊")
            .icon("📊")
            .bold("📊")
    );

    characters.insert("invoice".to_string(),
        CharacterSet::new()
            .simple("🧾")
            .icon("🧾")
            .bold("🧾")
    );

    characters.insert("receipt".to_string(),
        CharacterSet::new()
            .simple("🧾")
            .icon("🧾")
            .bold("🧾")
    );

    characters.insert("bill".to_string(),
        CharacterSet::new()
            .simple("🧾")
            .icon("🧾")
            .bold("🧾")
    );

    // 交易相关
    characters.insert("buy".to_string(),
        CharacterSet::new()
            .simple("📈")
            .icon("📈")
            .bold("📈")
    );

    characters.insert("sell".to_string(),
        CharacterSet::new()
            .simple("📉")
            .icon("📉")
            .bold("📉")
    );

    characters.insert("trade".to_string(),
        CharacterSet::new()
            .simple("🔄")
            .icon("🔄")
            .bold("🔄")
    );

    characters.insert("exchange".to_string(),
        CharacterSet::new()
            .simple("🔄")
            .icon("🔄")
            .bold("🔄")
    );

    characters.insert("market".to_string(),
        CharacterSet::new()
            .simple("🏪")
            .icon("🏪")
            .bold("🏪")
    );

    characters.insert("shop".to_string(),
        CharacterSet::new()
            .simple("🛒")
            .icon("🛒")
            .bold("🛒")
    );

    characters.insert("cart".to_string(),
        CharacterSet::new()
            .simple("🛒")
            .icon("🛒")
            .bold("🛒")
    );

    characters.insert("sale".to_string(),
        CharacterSet::new()
            .simple("🏷")
            .icon("🏷️")
            .bold("🏷")
    );

    characters.insert("discount".to_string(),
        CharacterSet::new()
            .simple("🏷")
            .icon("🏷️")
            .bold("🏷")
    );

    characters.insert("coupon".to_string(),
        CharacterSet::new()
            .simple("🎫")
            .icon("🎫")
            .bold("🎫")
    );

    characters.insert("voucher".to_string(),
        CharacterSet::new()
            .simple("🎫")
            .icon("🎫")
            .bold("🎫")
    );

    // 保险相关
    characters.insert("insurance".to_string(),
        CharacterSet::new()
            .simple("🛡")
            .icon("🛡️")
            .bold("🛡")
    );

    characters.insert("policy".to_string(),
        CharacterSet::new()
            .simple("📋")
            .icon("📋")
            .bold("📋")
    );

    characters.insert("claim".to_string(),
        CharacterSet::new()
            .simple("📝")
            .icon("📝")
            .bold("📝")
    );

    characters.insert("premium".to_string(),
        CharacterSet::new()
            .simple("💰")
            .icon("💰")
            .bold("💰")
    );

    // 税务相关
    characters.insert("tax".to_string(),
        CharacterSet::new()
            .simple("🧾")
            .icon("🧾")
            .bold("🧾")
    );

    characters.insert("vat".to_string(),
        CharacterSet::new()
            .simple("🧾")
            .icon("🧾")
            .bold("🧾")
    );

    characters.insert("invoice_tax".to_string(),
        CharacterSet::new()
            .simple("🧾")
            .icon("🧾")
            .bold("🧾")
    );

    characters
}
